;:sys36864
	;.opt oo
	*= 51111
	jmp init
strout	=$ab1e
axout	=$bdcd
tmp	=247
tmp2	=tmp+2
basic	=43
ink	=646
frame	=53280
out	=$ffd2
revers	=199
illquan	=$b248
komma	=$aefd
frmnum	=$ad8a
integer	=$b7f7
lo	=$14
hi	=lo+1
zeile	=2051
getx	=$b79e
syntax	=$af08
tmp3	=tmp2+2
ok	=$e18d
chrgot	=121
hello	.byte "\x93\x11 **** nss maschinensprache-wandler ****"
	.byt 13,13
	.byte "   programmiert von n. heusler 310386"
	.byt 13,13,0
falsch	.byte "\x11programm laeuft nur, wenn basic anfang"
	.byt 13
	.byte "auf 2049 steht !!"
	.byt 13,0
last	.byte "\x11fertig."
	.byt 13
	.byte "\xa3\xa3\xa3\xa3\xa3\xa3\x11"
	.byt 13
	.byte "letztes byte bei "
	.byt 0
poke	.byt 13
	.byte "\x11pokes zum setzen des basic-endes:"
	.byt 13
	.byte " poke 45,"
	.byt 0
poke2	.byte ":poke 46,"
	.byt 0
forget	.byte ":clr"
	.byt 13,0
init	lda #<hello
	ldy #>hello
	jsr strout
	lda ink
	pha
	lda frame
	sta ink
	inc revers
	ldx #39
	lda #" "
loop	jsr out
	dex
	bpl loop
	pla
	sta ink
	dec revers
	lda basic
	cmp #1
	beq geht
nix	lda #<falsch
	ldy #>falsch
	jsr strout
	jmp illquan
geht	lda basic+1
	cmp #8
	bne nix
	jsr komma
	jsr frmnum
	jsr integer
	lda lo
	ldy hi
	sta tmp
	sty tmp+1
	sta von+1
	sty von2+1
	jsr komma
	jsr frmnum
	jsr integer
	lda lo
	ldy hi
	clc
	adc #1
	bne noiny
	iny
noiny	sta tmp2
	sty tmp2+1
	sta bis+1
	sty bis2+1
	lda #<ok
	ldy #>ok
	sta goto+1
	sty goto+2
	jsr chrgot
	beq default
	jsr komma
	jsr frmnum
	jsr integer
	lda lo
	ldy hi
	sta goto+1
	sty goto+2
default	ldy #84
setdriv	lda treiber,y
	sta $800,y
	dey
	bpl setdriv
	lda #85
	ldx basic+1
	sta tmp3
	stx tmp3+1
	ldy #0
copylang	lda tmp
	cmp tmp2
	bne sir2
	lda tmp+1
	cmp tmp2+1
	bne sir2
	jmp auswert
sir2	lda (tmp),y
	sta (tmp3),y
	inc tmp
	bne zuse
	inc tmp+1
zuse	inc tmp3
	bne zuse2
	inc tmp3+1
zuse2	jmp copylang
auswert	lda #<last
	ldy #>last
	jsr strout
	lda tmp3
	sec
	sbc #1
	tax
	lda tmp3+1
	sbc #0
	jsr axout
	lda #<poke
	ldy #>poke
	jsr strout
	lda #0
	ldx tmp3
	jsr axout
	lda #<poke2
	ldy #>poke2
	jsr strout
	lda #0
	ldx tmp3+1
	jsr axout
	lda #<forget
	ldy #>forget
	jmp strout
treiber	.byt 0,15,8,20,8,158,50,48,54,53,44,78,83,83,0,0,0
	jmp (zeile)
	jsr komma
	jsr getx
	cpx #0
	beq sir
	jmp syntax
sir	ldy #0
	lda #<2133
	ldx #>2133
	sta tmp
	stx tmp+1
von	lda #0
von2	ldx #0
	sta tmp2
	stx tmp2+1
copy	lda tmp2+1
bis2	cmp #0
	bne cont
	lda tmp2
bis	cmp #0
	bne cont
goto	jmp 0
cont	lda (tmp),y
	sta (tmp2),y
	inc tmp
	bne noinc1
	inc tmp+1
noinc1	inc tmp2
	bne noinc2
	inc tmp2+1
noinc2	clc
	bcc copy
